class Pagina < ActiveRecord::Base
  #
  # estados
  #
  PUBLICADA   = 'publicada'
  BORRADOR    = 'borrador'
  
  belongs_to  :categoria,
              :foreign_key => 'categoria_id',
              :class_name => 'PaginasCategoria'

  #
  # validaciones
  #
  validates_presence_of :titulo,             :message => '^Falta el título'
  validates_presence_of :texto,              :message => '^Falta el texto de la página'
  validates_presence_of :categoria_id,       :message => '^Falta indicar la categoría'

  # call_backs
  before_save   :initialize_nicetitle, :initialize_estado
              
  def self.estados
    { 
      'Publicada' => Pagina::PUBLICADA, 
      'Borrador' => Pagina::BORRADOR
    }
  end
  
  protected
    def initialize_nicetitle
      if self.new_record?
        self.titulo_sanitizado = self.titulo.to_slug
      end
    end
    
    protected
      def initialize_estado
        if self.new_record?
          self.estado = Pagina::PUBLICADA
        end
      end
end